/* @author cerimice */
package Persistencia.Definicion;

import Sistema.Configuracion;

import java.util.Date;
import java.io.Serializable;
import java.util.Collection;

import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.NamedQuery;
import javax.persistence.NamedQueries;

import javax.persistence.FetchType;
import javax.persistence.ManyToOne;
import javax.persistence.JoinColumn;

@Entity
@Table(name="seguimientoOrdenServicio")
@NamedQueries
    ({
    @NamedQuery(name="seguimientoOrdenServicio.lista", query="SELECT m FROM SeguimientoOrdenServicio m ORDER BY m.clave")
    })

public class SeguimientoOrdenServicio implements Serializable
    {
    @Id
    @Basic(optional=false)
    @Column(name="clave",nullable=false)
    private String clave;
    
    @Basic(optional=false)
    @Column(name="ordenServicio",nullable=false)
    private String ordenServicio;
    
    @Basic(optional=false)
    @Column(name="descripcion",nullable=false)
    private String descripcion;
    
    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="ordenServicio",referencedColumnName="clave",insertable=false,updatable=false)
    private OrdenServicio objOrdenServicio;
    
    public SeguimientoOrdenServicio()
        {clave = Configuracion.getFormatoClave().format(new Date());}
    
    public void setClave(String clave)                  {this.clave = clave;}
    public void setDescripcion(String descripcion)      {this.descripcion = descripcion;}
    public void setOrdenServico(String ordenServicio)   {this.ordenServicio = ordenServicio;}
    
    public String getClave()                        {return clave;}
    public String getDescripcion()                  {return descripcion;}
    public String getOrdenServico()                 {return ordenServicio;}
    
    public OrdenServicio getObjOrdenServicio()      {return objOrdenServicio;}
    
    @Override
    public String toString()                {return this.clave+" - "+this.descripcion;}
    }
